package cn.tedu.store.mapper;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.tedu.store.entity.Address;

public interface AddressMapper {
	/**
	 * 添加新地址
	 * @param address
	 * @return
	 */
	Integer addAddress(Address address);
	
	/**
	 * 根据aid删除收货地址
	 */
	Integer deleteByAid(Integer aid);
	
	/**
	 * 根据uid查询最后一次修改的收货地址信息aid
	 * @param uid
	 * @return
	 */
	Address findLastModefied(Integer uid);
	
	
	/**
	 * 修改所有地址都为非默认
	 * @param uid
	 * @return
	 */
	Integer updateNonDefault(Integer uid);
	
	/**
	 * 修改默认收货地址
	 * @param aid
	 * @param modefiedUser
	 * @param modefiedTime
	 * @return
	 */
	Integer updataDefault(
			@Param("aid") Integer aid,
			@Param("modefiedUser") String modefiedUser,
			@Param("modefiedTime") Date modefiedTime
			
			);
	
	/**
	 * 根据用户id统计收货地址的数量
	 * @param uid
	 * @return
	 */
	Integer countByUid(Integer uid);
	
	/**
	 * 根据地址id查询地址
	 * @param aid
	 * @return
	 */
	Address findByAid(Integer aid);
	
	/**
	 * 查询某用户的收货地址列表
	 * @param uid
	 * @return
	 */
	List<Address> findByUid(Integer uid);
	
	
}
